package DAO;


import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import DBConection.ConexionBD;
import Modelo.*;

public class Peaje_Viaje_Dao {

	private Connection conn;

	public Peaje_Viaje_Dao() {
		conn = ConexionBD.getConnection();
	}

	public void addPeaje_Viaje(Peaje_Viaje objpe_vi) {

		try {

			String sql = "INSERT INTO "+ConexionBD.getNombre_BD()+".Tbl_Peajes_Viajes(peajeId,viajeId)"
					+ " VALUES (?, ?)";
			PreparedStatement ps = conn.prepareStatement(sql);

			ps.setInt(1, objpe_vi.getPeajeId());
			ps.setInt(2, objpe_vi.getViajeId());
			
			ps.executeUpdate();

		} catch (SQLException e) {
			e.printStackTrace();
		}
	}	
		public void removePeaje(int PeajeId, int viajeid) {
			try {
				String sql = "DELETE FROM "+ConexionBD.getNombre_BD()+".Tbl_Peajes_Viajes WHERE peajeId=? and viajeId=?";
				PreparedStatement ps = conn.prepareStatement(sql);
				ps.setInt(1, PeajeId);
				ps.setInt(1, viajeid);
				ps.executeUpdate();

			} catch (SQLException e) {
				e.printStackTrace();
			}
		}

		public void editPeaje(Peaje_Viaje objpe_vi) {
			try {
				String sql = "UPDATE "+ConexionBD.getNombre_BD()+".Tbl_Peajes_Viajes SET peajeId=? , viajeId=? "
						+ " WHERE peajeId=? and viajeId=?";
				PreparedStatement ps = conn.prepareStatement(sql);

				ps.setInt(1, objpe_vi.getPeajeId());
				ps.setInt(2, objpe_vi.getViajeId());
				ps.executeUpdate();

			} catch (SQLException e) {
				e.printStackTrace();
			}
		}

		public List<Peaje_Viaje> getAllPeajes() {
			List<Peaje_Viaje> Peaje_Viajes = new ArrayList<Peaje_Viaje>();
			try {
				String sql = "SELECT * FROM "+ConexionBD.getNombre_BD()+".Tbl_Peajes_Viajes";
				PreparedStatement ps = conn.prepareStatement(sql);
				ResultSet rs = ps.executeQuery();
				while (rs.next()) {
					Peaje_Viaje objPe_vi = new Peaje_Viaje();
					objPe_vi.setPeajeId(rs.getInt("PeajeId"));
					objPe_vi.setViajeId(rs.getInt("ViajeId"));
					
					Peaje_Viajes.add(objPe_vi);
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}

			return Peaje_Viajes;
		}

		public Peaje_Viaje getPeaje_ViajesById(int PeajeId, int ViajeId) {
			Peaje_Viaje objPe_vi = new Peaje_Viaje();
			try {
				String sql = "SELECT * FROM "+ConexionBD.getNombre_BD()+".Tbl_Peajes_Viajes WHERE peajeId=? and viajeId=?";
				PreparedStatement ps = conn.prepareStatement(sql);
				ps.setInt(1, PeajeId);
				ResultSet rs = ps.executeQuery();

				if (rs.next()) {
					objPe_vi.setPeajeId(rs.getInt("PeajeId"));
					objPe_vi.setViajeId(rs.getInt("ViajeId"));
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
			return objPe_vi;
		}	
		
	

}

